const fs = require('fs')
const student = require('./student.js')

// 1
const express = require('express')
// 2
var router = express.Router()

// 3 业务逻辑

// 首页列表
router.get('/', (req, res) => {
    student.getMsg((err, data) => {
        if (err) res.status(500).send(err.message)
        res.render('index.html', { students: data })
    })
})

// 添加信息
router.get('/student/add', (req, res) => {
    res.render('add.html')
})

// 提交信息
router.post('/student/submit', (req, res) => {
    setTimeout(() => {
        student.addMsg(req.body, (err, data) => {
            if (err) res.status(500).send(err.message)
            res.status(301).redirect('/')
        })
    }, 800)
})

// 渲染编辑页面
router.get('/student/edit', (req, res) => {
    student.findMsg(parseInt(req.query.id), (err, data) => {
        if (err) res.status(500).send(err.message)
        res.render('edit.html', { student: data })
    })
})

// 提交修改后的信息
router.post('/student/update', (req, res) => {
    console.log(req.body)
    setTimeout(() => {
        student.updateMsg(req.body, (err, data) => {
            if (err) res.status(500).send(err.message)
            res.status(301).redirect('/')
        })
    }, 800)
})

// 删除信息
router.get('/student/delete', (req, res) => {
    student.deleteMsg(parseInt(req.query.id), (err, data) => {
        if (err) res.status(500).send(err.message)
        console.log(data)
        res.status(301).redirect('/')
    })
})

// 4 导出对象
module.exports = router

/*
router.post('/student/submit', (req, res) => {
    setTimeout(() => {
        req.body.id = new Date().getTime();
        fs.readFile('./db.json', 'utf8', (err, data) => {
            if (err) return res.status(500).send('Server Error')
            // 
            let arrMsg = JSON.parse(data);
            arrMsg.students.unshift(req.body);
            fs.writeFile('./db.json', JSON.stringify(arrMsg), function(err) {
                if (err) return res.status(500).send('Server Error')
            })
        })
        res.redirect('/')
    }, 1000)
})
*/
